#include "Trafopoint.h"
#include "Matrizen.h"	/* Dadurch kennt diese .c Datei ab jetzt alle Funktionen aus Matrizen.h */

void TrafoPoint (Punkt* p1_v, Punkt* p1_n, double winkel,
  Punkt* drehpunkt, Punkt* shiftpunkt)
{
   double punkt1[3];
   double punkt1_t[3];
   double punkt1_r[3];
   double punkt1_s[3];
   double matrix[3][3];

   punkt1[0] = p1_v->x;   
   punkt1[1] = p1_v->y;   
   punkt1[2] = 1;         


   tramatxy (-drehpunkt->x, -drehpunkt->y, matrix);			// Translation in den Nullpunkt
   matvek(matrix, punkt1, punkt1_t);

   rotmatxy (winkel, matrix);								// Rotation im Nullpunkt
   matvek(matrix, punkt1_t, punkt1_r);




   tramatxy (drehpunkt->x+shiftpunkt->x, drehpunkt->y+shiftpunkt->y, matrix);          
   matvek(matrix, punkt1_r, punkt1_s);		 // Ruecktranslation + Translation zum gewünschten Punkt
   p1_n->x = punkt1_s[0];
   p1_n->y = punkt1_s[1];

}
